var ias;
$(function() {
    $('#objetivo-grid> table> tbody>tr').live('click', function() {
        var fila = $(this).children('td')[0];
        var checkbox = $(fila).children(':checkbox');
        cambioEstadoObjetivo($(checkbox).val())

    });
//                          Infinite Ajax Scroll v2.1.2
    ias = $('div#portlet_actividades').ias({
        container: "#lista-infinita",
        item: "div.itemSelector",
        pagination: "div.pagination",
        next: "#lista-infinita div.pagination ul.yiiPager li.next:not(.disabled):not(.hidden) a",
    });
    ias.extension(new IASSpinnerExtension());
    ias.extension(new IASNoneLeftExtension({text: 'No hay mas datos.'}));


});

/******************************Funciones de Entidades Principales*********************************/
/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} lista
 * actualiza un determinada lista y el calendario
 */
function ActualizarInformacion(lista)
{
    var listaActual = lista.replace('#', '');
    if (lista != "#evento-grid")
    {
        if ($(lista).length == 0)
        {
            window.location.reload();
        }
        else
        {
            $.fn.yiiGridView.update(listaActual);
        }

    }
    else {
        AjaxActualizarActividades();
    }
    $('#calendar').fullCalendar('refetchEvents');

}
function AjaxActualizarActividades()
{
    updateAtivites();
}
//Acciónes de calendario
/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} event
 * @param {type} accion
 * carga de modal view desde el calendario
 */
function AjaxModalEntidad(event, accion)
{
    var control = event.className;
    var Module_Model = control.toString().split("_");
    var url = Module_Model[0] + '/' + Module_Model[1] + '/' + accion + '/id/' + Module_Model[2] + '/tipo/contacto';
    viewModal(url, function() {
    });
}
/******************************Funciones Ajax*****************************************************/
/**
 * @author Alex Yepez <ayepez@tradesystem.com.ec>
 * @param {type} Formulario
 * guarda los _form_modal por ajax para contacto, tarea, oportunidad, evento y cobranza
 */
function AjaxAtualizacionInformacion(Formulario)
{
    BloquearBotonesModal(Formulario);
    AjaxGestionModal(Formulario, function(list, data) {
        ActualizarInformacion(list);
    });
}
/**
 * 
 * @param {type} id
 * edita el rating de contacto por ajax
 */
function rating(id) {

    var cont = 0;
    $('#rating_' + id + ' div').each(function(index, elemento) {

        if ($(elemento).hasClass('star-rating-on'))
        {
            cont++;
            $(elemento).parent().removeClass('star-rating-on');//star-rating-hover
            $(elemento).parent().addClass('star-rating-hover');//star-rating-hover
        }
    });

    $.ajax({
        type: "POST",
        url: 'rating',
        data: {id: id, cont: cont}

    });
}


/**
 * Guarda Nota con archivos.
 * @autor Armando Maldonado <amaldonado@tradesystem.com.ec>
 * @param {type} url
 * @returns {undefined}
 */
function guardarObjetivo(url) {
    $.ajax({
        type: "POST",
        url: url,
        dataType: 'json',
        data: $('#tarea-objetivo-form').serialize(),
        success: function(data) {
            if (data.success) {
                $('#TareaObjetivo_objetivo').val('');
                $.fn.yiiGridView.update('objetivo-grid');
                $('#progresoObjetivo > div').attr('style', 'width:' + data.porcentaje_no_realizadas + '%');
            } else {
                bootbox.alert(data.error);
            }
        }
    });
}
/**
 * @autor Armando Maldonado <amaldonado@tradesystem.com.ec>
 * @param {type} id
 * @param {type} estado
 * @returns {undefined}
 */
function cambioEstadoObjetivo(id) {
    $.ajax({
        type: "POST",
        dataType: 'json',
        url: baseUrl + 'tareas/tarea/ajaxCambioEstadoObjetivo',
        data: {id: id},
        success: function(data) {
//            console.log(data.porcentaje_no_realizadas);
//            $.fn.yiiGridView.update('objetivo-grid');
            $('#progresoObjetivo > div').attr('style', 'width:' + data.porcentaje_no_realizadas + '%');
        }
    });
}
